package main
import (
	"fmt"
	"go_code/project14/model"
)

//工厂模式的使用； golang中没有构造函数，但是可以通过工厂模式解决这个问题！！！
//也就是 构造函数的功能 :如果一个struct的名称首字母是小写的，这样就无法被其他包调用
//但是我们又想在其他包获取这个实例，这时候就需要用工厂模式解决

func main(){
	/*
	var stu = model.student{   //无法创建首字母小写的其他包的实例
		Name : "fmx",
		Age : 22,
	}
	fmt.Println("----",stu)*/
	
	//利用工厂模式解决上面问题
	var stu = model.StudentFactory("f~m~x",232) 
	//接收到的是该方法返回的指针，所有stu是一个指针
	fmt.Println("~~~~",stu)
	fmt.Println("@@@@",stu.GetAge())
}